1. Technical Field
The present invention relates in general to a method and system for managing communication networks and in particular to a method and system within a packet-based, linked-layer network communication system for efficiently interfacing a general processor, such as a local or remote general purpose central processing unit (CPU), to a network processor. More particularly, the present invention relates to an improved encapsulation transport protocol for exchanging control and data flows between general purpose data processing devices and network processors.
2. Description of the Related Art
Communication networks have grown both geographically and in complexity. This growth has resulted in the need for greater scalability in the design of a network infrastructure. The continual need to provide an improved distributed control infrastructure for a network exists. An improved distributed control infrastructure for a network is particularly needed for maximizing the efficient utilization of network resources.
Within frame-based or packet-based networks, such as Ethernet, Packet-Over-SONET (POS), Token Ring networks, etc., transport protocols are utilized to define communication between control infrastructure nodes such as bridges, routers, and switches. In this context, a xe2x80x9cprotocolxe2x80x9d is defined as a set of rules and conventions utilized by the applications participating in a network communication session. The set of rules can be very complex, and layered protocol models have been adopted to help simplify and manage network protocol definitions. The International Standards Organization (ISO) responded to this need by developing the Open Systems Interconnection (OSI) model for inter-computer communications. Prior to the development of OSI, International Business Machines (IBM) introduced a System Network Architecture (SNA) for general purpose computer networks. Both OSI and SNA models consist of at least seven layers with well-defined interfaces between layers.
Fundamental to such data transport models is the notion of protocol layering. The utility of layered protocols such as SNA and OSI is in the uniform structure provided therein in which layers interact in a peer-to-peer manner, and the function of each individual layer is performed without interfering with the interface between the function of the individual layer and the layers immediately above and below it. The OSI model includes the following seven layers: Application (7), Presentation (6), Session (5), Transport (4), Network (3), Datalink (2), and Physical (1). The higher layers (4)-(7) operate on messages. The network layer (3) typically operates on packets, the datalink layer (2) on frames, while the lowest level, physical layer (1), operates on data bits.
Current communication networks often employ network processors, which perform specialized functions directed towards the coordination of communication sessions. Network processors utilized in switching systems for layers 2, 3, 4, and higher are designed to forward frames based on control information received from a general processor, such as a general purpose central processing unit (CPU). Within this context, the general processor (i.e., general purpose CPU) maintains network topology information for various networking protocols which are modeled in the link-layer manner described above (such as Transparent Bridging, OSPF, RIP, BGP, etc.). The general processor may also be utilized to provide state information to network management applications.
In a communication network, a control point, which contains general processor (i.e., the general purpose CPU), communicates with the Internet, a local area network (LAN), a wide area network (WAN), or a server to process or forward messages, such as control information or commands or data messages, through a switch, router, or bridge. The switch, router, or bridge typically contains at least various network processors coupled to a switch fabric for processing, forwarding, and routing the messages to desired destinations. The general processor in the control point is coupled in communication with the various network processors. Normally, one of the network processors, such as the first processor, acts as the message router for routing messages from the general processor to the switch fabric, which, in turn, unicasts, broadcasts, or multi-casts the messages to the other network processors.
Each network processor has one or more control processor, such as a guided Frame handler (GFH) or a guided tree handler (GTH), and one or more data processor, such as a general data handler (GDH). Control information, such as control commands, are directed (from the general processor) to and processed by a control processor within the network processor while data messages are directed (from the general processor) to and processed by a data processor within the network processor. Encapsulation of messages has been employed to increase the efficiency of processing messages in a network by categorizing and designating the message types between control information and data messages and by directing the control information to the control processor and the data messages to the data processor.
A message is encapsulated into a packet by the general processor, and, depending upon the type of message (i.e., control information or data message), the information type for the encapsulated packet is respectively designated by the general processor as a control-type packet or a data-type packet. If the encapsulated packet is a control-type packet, then the general processor sends the encapsulated packet to the control processor of the network processor. On the other hand, if the encapsulated packet is a data-type packet, then the general processor sends the encapsulated packet to the data processor of the network processor. U.S. patent application Ser. No. 09/479,751 discloses an exemplary system and method for processing messages from a general processor to a network processor by encapsulating control information into control-type packets and data messages into data-type packets and respectively forwarding the control-type packets to the control processor and the data-type packets to the data processor.
As mentioned earlier, only one network processor acts as the message router for routing messages from the general processor to the switch fabric and the other network processors. The network processor which acts as the single message router therefore may become a point of contention in forwarding and processing messages. The control processors within this network processor are usually special-purpose control processors that perform specialized operations and have relatively limited capability and processing bandwidth. Due to the limitations of the control processor, a congestion of control information from the general processor to be processed by the control processor within the network processor may easily result. The congestion results in a decrease by the network processor to efficiently process control information.
In contrast, the data processors are normally general-purpose processors having relatively large capability and processing bandwidth. Because there are often more data processors than control processors within network processors, data processors are less constrained in resources than control processors. The present invention recognizes the need to relieve the congestion of control information to be processed by control processors within network processors. In accordance with the present invention, such congestion is alleviated by utilizing available resources of data processors within network processors.
A method, system, program product, and data structure for processing network communication within a communication network from a general processor to a network processor. An informational frame is encapsulated into a packet for transmission within a communication network from a general processor to a network processor having a data processor and a control processor. If the informational frame is a control frame and the control processor is congested and if the control frame only needs message routing services from the locally connected network processor, the encapsulated packet is designated as a data-type packet so that the data processor processes the control frame. The encapsulated packet is then sent from the general processor to the network processor. The data processor decapusulates the encapsulated packet, parses the control frame and processes the control frame. The data processor directs and executes a control command defined within the control frame to a target control processor of a target network processor designated within the encapsulated packet.